A Near-Horn Prolog for Compilation
نویسندگان
چکیده
Near-Horn Prolog is a logic programming language which extends Prolog to handle non-Horn clauses. It was designed with the goal of minimizing the performance loss for programs with very few non-Horn clauses, while preserving the Prolog format. In this paper, we present a version of near-Horn Prolog that provides a stronger proof system than used by previous near-Horn procedures, and takes advantage of the preprocessing capability of compilers to reduce the accompanying performance penalty. In fact, for a sizable class of non-Horn programs the added inference rule strength incurs no performance penalty at all. In addition to describing this variant, called Inheritance near-Horn Prolog, we prove its soundness and (classical) completeness.
منابع مشابه
Introduction to Guarded Horn Clauses
This paper informally introduces a programming language Guarded Horn Clauses (GHC) through program examples. GHC is a parallel programming language devised from investigation of the basic framework and practice of logic programming. It has introduced the guard construct with simple semantics into logic programming to express interacting processes. A GHC program naturally expresses parallelism i...
متن کاملConcurrent Prolog Compiler on Top of Prolog
A Concurrent Prolog compiler, whose target language is (sequential) Prolog, was implemented in Prolog. The object program obtained can further be compiled into machine codes by a Prolog compiler. Due to the similarity among the source, target and implementation languages, the compiler and the runtime support were small and very rapidly developed. Benchmark tests showed that (twice) compiled Con...
متن کاملHistory on the implementation and compilation of Prolog
Prolog, abbreviation for PROgrammation en LOGique, was designed in 1972 by Philippe Roussel, Alain Colmerauer at the University of AixMarseille and Robert Kowalski at the University of Edinburgh [1]. Since 1972, Prolog has been one of the most popular logical programming language based on Horn clause logic. Intrigued by the interesting history of Prolog, I decided to learn the nature of the des...
متن کاملNear-horn Prolog and the Ancestry Family of Procedures Near-horn Prolog and the Ancestry Family of Procedures
The Near-Horn Prolog procedures have been proposed as eeective procedures in the area of disjunctive logic programming, an extension of logic programming to the ((rst-order) non-Horn clause domain. In this paper, we show that these case-analysis based procedures may be viewed as members of a class of procedures called the \an-cestry family," which also includes Model Elimination (and its varian...
متن کاملA CASE - ANALYSIS APPROACH TODISJUNCTIVE LOGIC PROGRAMMINGbyDavid
Computer Science) A CASE-ANALYSIS APPROACH TO DISJUNCTIVE LOGIC PROGRAMMING by David W. Reed Department of Computer Science Duke University Date: Approved: Donald W. Loveland, Supervisor Gopalan Nadathur Alan Biermann Richard Hodel Robert Wagner An abstract of a dissertation submitted in partial ful llment of the requirements for the degree of Doctor of Philosophy in the Department of Computer ...
متن کامل